package com.qkjia.channel;

import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;

public class SocketChannelDemo {

    public static void main(String[] args) throws Exception {
        // 创建SocketChannel
        // SocketChannel.open打开套接字通道并将其连接到远程地址。
        //     (new InetSocketAddress("www.baidu.com", 80)   根据主机名和端口号创建套接字地址
        SocketChannel socketChannel = SocketChannel.open(new InetSocketAddress("www.baidu.com", 80));

//        SocketChannel socketChanne2 = SocketChannel.open();
//        socketChanne2.connect(new InetSocketAddress("www.baidu.com", 80));

        //设置阻塞和非阻塞   socketChannel.configureBlocking(false); 调整此通道的阻塞模式。
        // 通过以上方法设置 SocketChannel 的读写模式。false 表示非阻塞，true 表示阻塞。
        socketChannel.configureBlocking(false);

        //读操作
        ByteBuffer byteBuffer = ByteBuffer.allocate(16);
        socketChannel.read(byteBuffer);
        socketChannel.close();
        System.out.println("read over");

    }

}
